/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.wooxes.client;

import com.google.gwt.user.client.rpc.IsSerializable;
import java.util.Vector;

/**
 *
 * @author woox
 */
public class Arxiu implements IsSerializable{

    String nom;
    String relatiu;
    String absolut;

    /**
     * @gwt.typeArgs <org.wooxes.client.Comment>
     */
    Vector comments;
    
    /**
     * Creates a new instance of Arxiu
     */
    long size;
    public Arxiu(){  
    }
    
    /**
     * Creates a new instance of Arxiu
     * @param arxiu nom del arxiu
     * @param comments vector amb comentaris
     */
    public Arxiu(String arxiu, Vector comments){
        this.nom = arxiu;
        this.comments = comments;
    }
    
    /**
     * Retorna el nom de l'arxiu.
     * @return nom de l'arxiu
     */
    public String getNom(){
       return nom;
    }

    /**
     * Modifica el nom de l'arxiu.
     * @param s nom del arxiu
     */
    public void setNom(String s){
       nom = s;
    }
    
    /**
     * Retorna el directori relatiu de l'arxiu.
     * @return ruta relativa
     */
    public String getRelatiu(){
       return relatiu;
    }

    /**
     * Modifica el directori relatiu de l'arxiu
     * @param s ruta relativa
     */
    public void setRelatiu (String s){
       relatiu = s;
    }
    
    /**
     * Retorna el nom absolut de l'arxiu.
     * @return nom absolut
     */
    public String getAbsolut(){
       return absolut;
    }

    /**
     * Modifica el nom absolut de l'arxiu
     * @param s nom absolut
     */
    public void setAbsolut (String s){
       absolut = s;
    }

    /**
     * Retorna comentaris d'aquest arxiu.
     * @return vector amb comentaris del tipus Comment
     */
    public Vector getComments(){
       return comments;
    }
    
    /**
     * Modifica el vector amb comentaris.
     * @param vc vector amb comentaris del tipus Comment
     */
    public void setComments(Vector vc){
       comments = vc;
    }
    
    /**
     * Retorna el tamany d'aquest arxiu.
     * @return tamany de l'arxiu
     */
    public long getSize(){
        return size;
    }
    
    /**
     * Modifica el tamany de l'arxiu.
     * @param i tamany de l'arxiu
     */
    public void setSize(long i){
        size = i;
    }
    
    public String getStringSize(){
        long i = getSize();
        
        if( i == 0){
            return "0 KB";
        }
        
        i = i/1024+1;
        return String.valueOf(i)+" KB";
    }
}
